package com.yssoft.mapper.publicPlatform;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.yssoft.entity.supplier.ProductionBatch;

public interface PublicTraceMapper {
	/**
	 * 
	    * @Title: updateLableScanNum
	    * @Description: 根据标签码累计扫描次数
	    * @param @param labelCode    参数
	    * @return void    返回类型
	    * @throws
	 */
	void updateLableScanNum(String labelCode);
	/**
	 * 
	    * @Title: queryLableScanNumByCode
	    * @Description: 根据标签码查询浏览次数
	    * @param @param labelCode    参数
	    * @return void    返回类型
	    * @throws
	 */
	int queryLableScanNumByCode(String labelCode);
	/**
	 * 
	    * @Title: queryFlowMapDetail
	    * @Description: TODO(这里用一句话描述这个方法的作用)
	    * @param @param labelCode
	    * @param @return    参数
	    * @return Map<String,Object>    返回类型
	    * @throws
	 */
	Map<String, Object> queryFlowMapDetail(String labelCode);
	/**
	 * 
	    * @Title: queryLablePackDate
	    * @Description: 查询包装时间
	    * @param @param labelCode
	    * @param @return    参数
	    * @return Map<String,Object>    返回类型
	    * @throws
	 */
	Map<String, Object> queryLablePackDate(String labelCode);
	/**
	 * 
	    * @Title: queryDemandInfoList
	    * @Description: 根据采购单id查询采购信息
	    * @param @param custom
	    * @param @return    参数
	    * @return List<Map<String,Object>>    返回类型
	    * @throws
	 */
	List<Map<String, Object>> queryDemandInfoList(@Param("worksheetId")Integer worksheetId, @Param("list")List<Map<String, Object>> list);
	 
	/**
	 * @param id 
	 * 
    * @Title: queryInspReportDetail
    * @Description: 根据入库申请单id找到检验信息
    * @param @param list
    * @param @return    参数
    * @return List<Map<String,Object>>    返回类型
    * @throws
    */
	List<Map<String, Object>> queryInspReportDetail(@Param("inspReportId") Integer id, @Param("list") List<Map<String, Object>> list);
	/**
	 * 
	    * @Title: queryInspReportAttrList
	    * @Description: 根据报告主键查询所有附件集合
	    * @param @param inspReportDetailList
	    * @param @return    参数
	    * @return List<Map<String,Object>>    返回类型
	    * @throws
	 */
	List<Map<String, Object>> queryInspReportAttrList(@Param("inspReportId") Integer inspReportId,@Param("list")List<Map<String, Object>> inspReportDetailList);
	/**
	 * 
	    * @Title: queryRecipientAttrList
	    * @Description: TODO(这里用一句话描述这个方法的作用)
	    * @param @param demandInfoList
	    * @param @return    参数
	    * @return List<Map<String,Object>>    返回类型
	    * @throws
	 */
	List<Map<String, Object>> queryRecipientAttrList(@Param("list")List<Map<String, Object>> demandInfoList);
	/**
	 * 
	 * @param 查询送检机构信息
	 * @return
	 */
	List<Map<String, Object>> queryInspReportList(List<Map<String, Object>> demandInfoList);
	List<Map<String, Object>> queryMaxInstockAppIdList(Integer worksheetId);
	/**
	 * 
	 * @param recipientId
	 * @return
	 */
	Integer queryTEIdByRecipientId(String recipientId);
	/**
	 * 选出所有物料
	 * @param productId
	 * @return
	 */
	List<Map<String, Object>> queryMaterialListByProductId(Integer productId);
	/**
	 * 选出物料对应的最新的领料记录明细Id
	 * @param worksheetId
	 * @return
	 */
	List<Map<String, Object>> queryMaxCollarMaterialDetailId(@Param("materialId")String materialId, @Param("worksheetId")Integer worksheetId);
	List<Map<String, Object>> queryOutstockDetailListByMaxCollarMaterialDetailId(
			@Param("worksheetId") Integer worksheetId,@Param("list") List<Map<String, Object>> maxCollarMaterialDetailIdList);
	List<Map<String, Object>> queryMaxInstockDetailListByOutstockDetailIds( @Param("list")List<Map<String, Object>> outstockDetailList);
	List<Map<String, Object>> queryInstockDetailListByMaxIds(@Param("list")List<Map<String, Object>> maxInstockDetailList);
	List<Map<String, Object>> queryRecipientDetailListByMaxInstockId(@Param("list")List<Map<String, Object>> maxInstockDetailList);
	List<Map<String, Object>> queryPurchaseDetailList(@Param("rdId") Integer rdId);
			
 

}
